// module.exports = () => {
//     return async function errorHandle(ctx, next) {
//         console.log('error handle');
//         try {
//             await next();
//         } catch (err) {
//             if (err.name === 'UnauthorizedError') {
//                 ctx.body = {
//                     code: 401,
//                     mssage: '请登录后再进行操作',
//                 }
//             }
//         }
//     }
// }
module.exports = (options, app) => {
    return async function (ctx, next) {
        console.log('error handle');
        //拿到不需要验证的token的路由
        const routerAuth = app.config.routerAuth;
        //获取当前路由
        const url = ctx.url;
        //判断当前路由是否需要验证token
        const flag = routerAuth.includes(url)
        if (flag) {
            await next();
        } else {
            //获取token,如果没有传入token，则为空
            var token = ctx.headers.authorization ? ctx.headers.authorization : '';
            // token.substring(7) //把Bearer 截取掉，解析的时候不需要加上Bearer 
​
            // 解析token
            try {
                if (token === '') {
                    ctx.status = 401;
                    ctx.body = {
                        code: 401,
                        message: 'token失效或解析错误',
                        data: null
                    }
                }else{
                    await next();
                }
                // const decode = await app.jwt.verify(token, app.config.jwt.secret);
                // ctx.state.userinfo = decode;
            } catch (err) {
                ctx.status = 406;
                ctx.body = {
                    code: 406,
                    message: '操作失败，请重试!',
                    data: null
                }
            }
​
        }
​
    }
}